package com.xinchuang.service.targetSystem.weapon;

import com.xinchuang.common.Result;
import com.xinchuang.entity.targetSystem.object.SpecialAdd;
import com.xinchuang.entity.targetSystem.weapon.WeaponMessage;
import com.xinchuang.entity.targetSystem.weapon.WeaponRelation;
import com.xinchuang.entity.targetSystem.weapon.WeaponType;

import java.util.List;
import java.util.Map;

/**
 * @ClassName WeaponHouseService
 * @Description: TODO(写一段描述的话)
 * @Author zhangxuan
 * @Date 2022-08-17 15:02
 * @Verion V1.0
 */
public interface WeaponHouseService {

    /**
     * 查询类型类别
     */
    Result<List<Map<String, Object>>> selectType();

    /**
     * 新增/修改类型类别
     */
    Result addOrUpdateType(WeaponType weaponType);

    /**
     * 删除类型类别
     */
    Result delType(String typeId);

    /**
     * 查询武器库属性
     */
    Result selectWeaponAttribute(Integer pageNum, Integer pageSize, String typeId);

    /**
     * 新增武器库属性
     */
    Result addOrUpdateWeaponAttribute(SpecialAdd specialAdd);

    /**
     * 删除武器库属性
     */
    Result delWeaponAttribute(String id);

    /**
     * 武器库属性排序
     */
    Result getWeaponSort(String id, int sign);

    /**
     * 武器库类别下拉
     */
    Result selectTypePull();

    /**
     * 查询武器库数据信息
     * @param id
     * @return
     */
    Result selectWeaponMessage(String id);

    /**
     * 新增/修改你武器库数据信息
     * @return
     */
    Result addOrUpdateWeaponMessage(String id, List<WeaponMessage> list);

    /**
     * 查询武器库类型列表
     * @param typeId
     * @return
     */
    Result selectWeaponMessagePull(String typeId);

    /**
     * 新增武器库数据
     */
    Result addWeaponData(WeaponRelation weaponRelation);

    /**
     * 删除武器库数据
     * @param id
     * @return
     */
    Result delWeaponData(String id);

    /**
     * 查询武器描述信息
     * @param id
     * @return
     */
    Result selectWeaponMessageByWeaponId(String id);

    /**
     * 查询武器库信息
     * @param id
     * @return
     */
    Result selectWeaponData(String id);

}
